home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
PInterfaces
/
DriverSynchronization.p
< prev
next >
Wrap
Text File
|
1996-05-01
|
3KB
|
83 lines
{
File: DriverSynchronization.p
Contains: Driver Synchronization Interfaces.
Version: Technology: Sustem 7.5 and 8
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
}
{$IFC UNDEFINED UsingIncludes}
{$SETC UsingIncludes := 0}
{$ENDC}
{$IFC NOT UsingIncludes}
UNIT DriverSynchronization;
INTERFACE
{$ENDC}
{$IFC UNDEFINED __DRIVERSYNCHRONIZATION__}
{$SETC __DRIVERSYNCHRONIZATION__ := 1}
{$I+}
{$SETC DriverSynchronizationIncludes := UsingIncludes}
{$SETC UsingIncludes := 1}
{$IFC UNDEFINED __CONDITIONALMACROS__}
{$I ConditionalMacros.p}
{$ENDC}
{$IFC UNDEFINED __TYPES__}
{$I Types.p}
{$ENDC}
{$IFC FOR_SYSTEM8_PREEMPTIVE }
{$IFC UNDEFINED __SYNCHRONIZATION__}
{$I Synchronization.p}
{$ENDC}
{$ENDC}
{$PUSH}
{$ALIGN MAC68K}
{$LibExport+}
FUNCTION CompareAndSwap(oldVvalue: UInt32; newValue: UInt32; VAR OldValueAdr: UInt32): BOOLEAN; C;
FUNCTION TestAndClear(bit: UInt32; VAR startAddress: UInt8): BOOLEAN; C;
{$IFC FOR_SYSTEM7_ONLY }
FUNCTION TestAndSet(bit: UInt32; VAR startAddress: UInt8): BOOLEAN; C;
FUNCTION IncrementAtomic8(VAR value: SInt8): SInt8; C;
FUNCTION DecrementAtomic8(VAR value: SInt8): SInt8; C;
FUNCTION AddAtomic8(amount: SInt32; VAR value: SInt8): SInt8; C;
FUNCTION BitAndAtomic8(mask: UInt32; VAR value: UInt8): ByteParameter; C;
FUNCTION BitOrAtomic8(mask: UInt32; VAR value: UInt8): ByteParameter; C;
FUNCTION BitXorAtomic8(mask: UInt32; VAR value: UInt8): ByteParameter; C;
{$ENDC}
FUNCTION IncrementAtomic16(VAR value: SInt16): SInt16; C;
FUNCTION DecrementAtomic16(VAR value: SInt16): SInt16; C;
FUNCTION AddAtomic16(amount: SInt32; VAR value: SInt16): SInt16; C;
FUNCTION BitAndAtomic16(mask: UInt32; VAR value: UInt16): UInt16; C;
FUNCTION BitOrAtomic16(mask: UInt32; VAR value: UInt16): UInt16; C;
FUNCTION BitXorAtomic16(mask: UInt32; VAR value: UInt16): UInt16; C;
FUNCTION IncrementAtomic(VAR value: SInt32): SInt32; C;
FUNCTION DecrementAtomic(VAR value: SInt32): SInt32; C;
FUNCTION AddAtomic(amount: SInt32; VAR value: SInt32): SInt32; C;
FUNCTION BitAndAtomic(mask: UInt32; VAR value: UInt32): UInt32; C;
FUNCTION BitOrAtomic(mask: UInt32; VAR value: UInt32): UInt32; C;
FUNCTION BitXorAtomic(mask: UInt32; VAR value: UInt32): UInt32; C;
{$ALIGN RESET}
{$POP}
{$SETC UsingIncludes := DriverSynchronizationIncludes}
{$ENDC} {__DRIVERSYNCHRONIZATION__}
{$IFC NOT UsingIncludes}
END.
{$ENDC}